关于
在前端现有模式下,数据双向绑定即指MVVVM框架中,视图层与模型层之间数据的相互影响。视图中数据改变反应到模型层中;模型层中数据变化也会影响视图层。
主要
angular2.x
angular2.x中数据双向绑定方式还是采用angular1.x中的脏值检查,但较之原来多有改变。1.数据流采用自顶向下的方式,逐步检查;
2.结合目前Component的模式,每个组件在创建时生成一个检查器,父组件优先检查,父组件会逐个检查子组件。
3.运用zone.js中的机制来跟踪异步任务(zone.js给所有JS中的异步事件提供了一个上下文;angular任务视图层中的数据改变都是异步事件),进行脏值检查。
4.关于zone.js的机制(对JS中的所有异步事件进行再次封装,全部运行在zone的上下文中)- vue
vue中的数据双向绑定则是采用Object.defineProperty(obj,key,options)的方法,在框架中实现劫持、监听、更新等操作。